package com.mingyuan.library.provider.lending.presentation;

import com.mingyuan.library.provider.lending.model.command.PlaceHoldCommand;
import com.mingyuan.library.provider.lending.model.command.PlaceOnHoldCommand;
import com.mingyuan.library.provider.lending.model.dto.PatronProfileDTO;
import com.mingyuan.library.provider.lending.model.query.PatronProfileQuery;

/**
 * 读者档案演示层接口
 *
 * @author yangzk
 * @version 1.0.0
 * @date 2024.01.05 19:03
 */
public interface PatronProfilePresentation {

    /**
     * 查询读者档案信息
     *
     * @param patronProfileQuery 读者档案信息查询条件
     * @return 读者档案信息
     * @author yangzk
     * @date 2024/1/5 19:06
     **/
    PatronProfileDTO findPatronProfile(PatronProfileQuery patronProfileQuery);

    /**
     * 图书预定
     *
     * @param placeHoldCommand 预定图书命令参数
     * @return true 成功 false 失败
     * @author yangzk
     * @date 2024/1/5 19:44
     **/
    Boolean placeOnHold(PlaceHoldCommand placeHoldCommand);
    /**
     * 图书预定 手写版本
     * @author yangzk
     * @param placeOnHoldCommand 图书预定请求命令参数
     * @date 2024/1/18 13:43
     **/
    Boolean placeOnHold(PlaceOnHoldCommand placeOnHoldCommand);
}
